package com.tridion.utilities.verifier.model;

import java.io.File;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;

@XmlAccessorType(XmlAccessType.FIELD)
public class JarFile {

    @XmlAttribute(name="name")
    private String name;
    
    @XmlAttribute(name="releaseVersion")
    private String releaseVersion;
    
    @XmlAttribute(name="minorReleaseVersion")
    private String minorReleaseVersion;
    
    @XmlAttribute(name="version")
    private String version;
    
    @XmlAttribute(name="build")
    private int build;
    
    @XmlAttribute(name="checksum")
    private String checksum;
    
    @XmlAttribute(name="tridionSpecific")
    private boolean tridionSpecific;
    
    private File file;
    
    private StatusMessage statusMessage;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getReleaseVersion() {
        return releaseVersion;
    }

    public void setReleaseVersion(String releaseVersion) {
        this.releaseVersion = releaseVersion;
    }

    public String getMinorReleaseVersion() {
        return minorReleaseVersion;
    }

    public void setMinorReleaseVersion(String minorReleaseVersion) {
        this.minorReleaseVersion = minorReleaseVersion;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getChecksum() {
        return checksum;
    }

    public void setChecksum(String checksum) {
        this.checksum = checksum;
    }

    /**
     * @return the file
     */
    public File getFile() {
        return file;
    }

    /**
     * @param file the file to set
     */
    public void setFile(final File file) {
        this.file = file;
    }

    /**
     * @return the tridionSpecific
     */
    public boolean isTridionSpecific() {
        return tridionSpecific;
    }

    /**
     * @param tridionSpecific the tridionSpecific to set
     */
    public void setTridionSpecific(boolean tridionSpecific) {
        this.tridionSpecific = tridionSpecific;
    }

    /**
     * @return the build
     */
    public int getBuild() {
        return build;
    }

    /**
     * @param build the build to set
     */
    public void setBuild(int build) {
        this.build = build;
    }

    /**
     * @return the statusMessage
     */
    public StatusMessage getStatusMessage() {
        return statusMessage;
    }

    /**
     * @param statusMessage the statusMessage to set
     */
    public void setStatusMessage(StatusMessage statusMessage) {
        this.statusMessage = statusMessage;
    }
}
